/**
 * 用户数据模型
 */
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';

/**
 * 用户文档类型，扩展Mongoose的Document接口
 */
export type userDocument = userList & Document;

/**
 * 用户列表类，定义用户的数据结构
 * @author TONGYI Lingma
 */
@Schema()
export class userList extends Document {
  /**
   * 用户名
   */
  @Prop()
  username: string; // 账号

  /**
   * 密码
   */
  @Prop()
  password: string; // 密码

  /**
   * 年龄
   */
  @Prop()
  age: string; // 年龄

  /**
   * 性别，枚举类型：'男'或'女'
   * 默认值：'男'
   */
  @Prop({
    type: String,
    enum: ['男', '女'],
    default: '男',
  })
  sex: string; // 性别

  /**
   * 手机号码
   */
  @Prop()
  phone: string; // 手机号

  /**
   * 状态
   * 枚举类型：0:正常, 1:禁用, 2:删除
   * 默认值：0
   */
  @Prop({
    type: Number,
    enum: [0, 1, 2],
    default: 0,
  })
  state: number; // 状态

  /**
   * 创建时间，默认为当前时间
   */
  @Prop({
    type: Date,
    default: function () {
      return Date.now();
    },
  })
  createTime: string;
}

/**
 * 用户列表的Mongoose模式，用于创建MongoDB集合
 */
export const userSchema = SchemaFactory.createForClass(userList);
